home *** CD-ROM | disk | FTP | other *** search
- // Persistence Of Vision raytracer version 2.0 sample file.
-
- // By Ville Saari
- // Copyright (c) 1991 Ferry Island Pixelboys
-
- /*
- *
- * POV-Ray scene description for chess board.
- *
- * Created: 01-Feb-91
- * Updated: 02-Mar-91
- *
- * This scene has 430 primitives in objects and 41 in bounding shapes and
- * it takes over 40 hours to render by standard amiga.
- *
- * If you do some nice modifications or additions to this file, please send
- * me a copy. My Internet address is:
- *
- * vsaari@niksula.hut.fi
- */
-
- #include "shapes.inc"
- #include "colors.inc"
- #include "textures.inc"
-
- camera {
- location <59, 20, -48>
- direction <0, 0, 1>
- up <0, 1, 0>
- right <4/3, 0, 0>
- look_at <0, 0, 1>
- }
-
- light_source { <800, 600, -200> colour White }
-
- #declare Pawn = union {
- sphere { <0, 7, 0>, 1.5 }
-
- sphere { <0, 0, 0>, 1
- scale <1.2, 0.3, 1.2>
- translate 5.5*y
- }
-
- intersection {
- plane { y, 5.5 }
- object {
- Hyperboloid_Y
- translate 5*y
- scale <0.5, 1, 0.5>
- }
- plane { -y, -2.5 }
- }
-
- sphere { <0, 0, 0>, 1
- scale <2, 0.5, 2>
- translate <0, 2.3, 0>
- }
-
- intersection {
- sphere { <0, 0, 0>, 2.5 }
- plane { -y, 0 }
- }
- }
-
- #declare Rook = union {
- intersection {
- union {
- plane { +x, -0.5 }
- plane { -x, -0.5 }
- plane { y, 9 }
- }
-
- union {
- plane { +z, -0.5 }
- plane { -z, -0.5 }
- plane { y, 9 }
- }
-
- plane { y, 10 }
- object { Cylinder_Y scale <2, 1, 2> }
- object { Cylinder_Y scale <1.2, 1, 1.2> inverse }
- plane { -y, -8 }
- }
-
- intersection {
- plane { y, 8 }
- object { Hyperboloid_Y
- scale <1, 1.5, 1>
- translate 5.401924*y
- }
- plane { -y, -3 }
- }
-
- sphere { <0, 0, 0>, 1
- scale <2.5, 0.5, 2.5>
- translate 2.8*y
- }
-
- intersection {
- sphere { <0, 0, 0>, 3 }
- plane { -y, 0 }
- }
- }
-
- #declare Knight = union {
- intersection {
- object { Cylinder_Z
- scale <17.875, 17.875, 1>
- translate <-18.625, 7, 0>
- inverse
- }
-
- object { Cylinder_Z
- scale <17.875, 17.875, 1>
- translate <18.625, 7, 0>
- inverse
- }
-
- object { Cylinder_X
- scale <1, 5.1, 5.1>
- translate <0, 11.2, -5>
- inverse
- }
-
- union {
- plane { y, 0
- rotate 30*x
- translate 9.15*y
- }
- plane { z, 0
- rotate -20*x
- translate 10*y
- }
- }
-
- union {
- plane { -y, 0
- rotate 30*x
- translate 7.15*y
- }
- plane { y, 0
- rotate 60*x
- translate 7.3*y
- }
- }
-
- union {
- plane { y, 0
- rotate -45*y
- }
- plane { y, 0
- rotate 45*z
- }
- translate 9*y
- }
-
- object { Cylinder_Y scale <2, 1, 2> }
- sphere { <0, 7, 0>, 4 }
- }
-
- sphere { <0, 0, 0>, 1
- scale <2.5, 0.5, 2.5>
- translate <0, 2.8, 0>
- }
-
- intersection {
- sphere { <0, 0, 0>, 3 }
- plane { -y, 0 }
- }
- }
-
- #declare Bishop = union {
- sphere { <0, 10.8, 0>, 0.4 }
-
- intersection {
- union {
- plane { -z, -0.25 }
- plane { +z, -0.25 }
- plane { y, 0 }
- rotate 30*x
- translate 8.5*y
- }
-
- sphere { <0, 0, 0>, 1
- scale <1.4, 2.1, 1.4>
- translate 8.4*y
- }
-
- plane { -y, -7 }
- }
-
- sphere { <0, 0, 0>, 1
- scale <1.5, 0.4, 1.5>
- translate 7*y
- }
-
- intersection {
- plane { y, 7 }
- object {
- Hyperboloid_Y
- scale <0.6, 1.4, 0.6>
- translate 7*y
- }
- plane { -y, -3 }
- }
-
- sphere { <0, 0, 0>, 1
- scale <2.5, 0.5, 2.5>
- translate 2.8*y
- }
-
- intersection {
- sphere { <0, 0, 0>, 3 }
- plane { -y, 0 }
- }
- }
-
- #declare QueenAndKing = union {
- sphere { <0, 10.5, 0>, 1.5 }
-
- intersection {
- union {
- sphere { <1.75, 12, 0>, 0.9 rotate 150*y }
- sphere { <1.75, 12, 0>, 0.9 rotate 120*y }
- sphere { <1.75, 12, 0>, 0.9 rotate 90*y }
- sphere { <1.75, 12, 0>, 0.9 rotate 60*y }
- sphere { <1.75, 12, 0>, 0.9 rotate 30*y }
- sphere { <1.75, 12, 0>, 0.9 }
- sphere { <1.75, 12, 0>, 0.9 rotate -30*y }
- sphere { <1.75, 12, 0>, 0.9 rotate -60*y }
- sphere { <1.75, 12, 0>, 0.9 rotate -90*y }
- sphere { <1.75, 12, 0>, 0.9 rotate -120*y }
- sphere { <1.75, 12, 0>, 0.9 rotate -150*y }
- sphere { <1.75, 12, 0>, 0.9 rotate 180*y }
- inverse
- }
-
- plane { y, 11.5 }
-
- object { QCone_Y
- scale <1, 3, 1>
- translate 5*y
- }
-
- plane { -y, -8 }
- }
-
- sphere { <0, 0, 0>, 1
- scale <1.8, 0.4, 1.8>
- translate 8*y
- }
-
- intersection {
- plane { y, 8 }
- object { Hyperboloid_Y
- scale <0.7, 1.6, 0.7>
- translate 7*y
- }
- plane { -y, -3 }
- }
-
- sphere { <0, 0, 0>, 1
- scale <2.5, 0.5, 2.5>
- translate 2.8*y
- }
-
- intersection {
- sphere { <0, 0, 0>, 3 }
- plane { <0, -1, 0>, 0 }
- }
- }
-
- #declare Queen = union {
- sphere { <0, 12.3, 0>, 0.4 }
- object { QueenAndKing }
- }
-
- #declare King = union {
- intersection {
- union {
- intersection {
- plane { y, 13 }
- plane { -y, -12.5 }
- }
-
- intersection {
- plane { +x, 0.25 }
- plane { -x, 0.25 }
- }
- }
-
- plane { +z, 0.25 }
- plane { -z, 0.25 }
- plane { +x, 0.75 }
- plane { -x, 0.75 }
- plane { +y, 13.5 }
- plane { -y, -11.5 }
- }
-
- object { QueenAndKing }
- }
-
- #declare WWood = texture {
- pigment {
- wood
- turbulence 0.1
- colour_map {
- [ 0.0 0.35 colour red 0.7 green 0.4
- colour red 0.7 green 0.4 ]
- [ 0.35 1.0 colour red 0.95 green 0.62
- colour red 0.95 green 0.62 ]
- }
- scale <0.6, 1000.0, 0.6>
- translate <200.0, 0.0, 100.0>
- }
- finish {
- specular 1
- roughness 0.02
- }
- }
-
- #declare BWood = texture {
- pigment {
- wood
- turbulence 0.1
- colour_map {
- [ 0.0 0.55 colour red 0.45 green 0.25
- colour red 0.45 green 0.25 ]
- [ 0.55 1.0 colour red 0.30 green 0.16
- colour red 0.30 green 0.16 ]
- }
- scale <0.6, 1000.0, 0.6>
- translate <100.0, 0.0, -200.0>
- }
- finish {
- specular 1
- roughness 0.02
- }
- }
-
- #declare WPawn = object {
- Pawn
-
- bounded_by { sphere { <0, 4, 0>, 4.72 } }
-
- texture {
- WWood
- pigment { quick_color red 0.95 green 0.62 }
- }
- }
-
- #declare BPawn = object {
- Pawn
-
- bounded_by { sphere { <0, 4, 0>, 4.72 } }
-
- texture {
- BWood
- pigment { quick_color red 0.4 green 0.2 }
- }
- }
-
- #declare WRook = object {
- Rook
-
- bounded_by { sphere { <0, 5, 0>, 5.831 } }
-
- texture {
- WWood
- pigment { quick_color red 0.95 green 0.62 }
- }
- }
-
- #declare BRook = object {
- Rook
-
- bounded_by { sphere { <0, 5, 0>, 5.831 } }
-
- texture {
- BWood
- pigment { quick_color red 0.4 green 0.2 }
- }
- }
-
- #declare WKnight = object {
- Knight
-
- bounded_by { sphere { <0, 5, 0>, 5.831 } }
-
- texture {
- WWood
- pigment { quick_color red 0.95 green 0.62 }
- }
- }
-
- #declare BKnight = object {
- Knight
- rotate 180*y
-
- bounded_by { sphere { <0, 5, 0>, 5.831 } }
-
- texture {
- BWood
- pigment { quick_color red 0.4 green 0.2 }
- }
- }
-
- #declare WBishop = object {
- Bishop
-
- bounded_by { sphere { <0, 5.5, 0>, 6.265 } }
-
- texture {
- WWood
- pigment { quick_color red 0.95 green 0.62 }
- }
- }
-
- #declare BBishop = object {
- Bishop
- rotate 180*y
-
- bounded_by { sphere { <0, 5.5 ,0>, 6.265 } }
-
- texture {
- BWood
- pigment { quick_color red 0.4 green 0.2 }
- }
- }
-
- #declare WQueen = object {
- Queen
-
- bounded_by {
- intersection {
- sphere { <0, 6, 0>, 6.71 }
- object { Cylinder_Y scale <3, 1, 3> }
- }
- }
-
- texture {
- WWood
- pigment { quick_color red 0.95 green 0.62 }
- }
- }
-
- #declare BQueen = object {
- Queen
-
- bounded_by {
- intersection {
- sphere { <0, 6, 0>, 6.71 }
- object { Cylinder_Y scale <3, 1, 3> }
- }
- }
-
- texture {
- BWood
- pigment { quick_color red 0.4 green 0.2 }
- }
- }
-
- #declare WKing = object {
- King
-
- bounded_by {
- intersection {
- sphere { <0, 6.5, 0>, 7.16 }
- object { Cylinder_Y scale <3, 1, 3> }
- }
- }
-
- texture {
- WWood
- pigment { quick_color red 0.95 green 0.62 }
- }
- }
-
- #declare BKing = object {
- King
-
- bounded_by {
- intersection {
- sphere { <0, 6.5, 0>, 7.16 }
- object { Cylinder_Y scale <3, 1, 3> }
- }
- }
-
- texture {
- BWood
- pigment { quick_color red 0.4 green 0.2 }
- }
- }
-
- /* Sky */
- sphere { <0, -39000, 0>, 40000
- inverse
-
- pigment {
- bozo
- turbulence 0.6
- colour_map {
- [0 0.5 colour red 0.4 green 0.5 blue 1
- colour red 0.4 green 0.5 blue 1.0]
- [0.5 0.7 colour red 0.4 green 0.5 blue 1
- colour red 1 green 1 blue 1.0]
- [0.7 1 colour red 1 green 1 blue 1
- colour red 0.7 green 0.7 blue 0.7]
- }
- scale 500
- quick_color red 0.4 green 0.5 blue 1
- }
- finish {
- ambient 1
- diffuse 0
- }
- }
-
- /* Ground */
- plane { y, -80
- pigment { Green }
- finish {
- crand 0.05
- ambient 0.5
- diffuse 0.5
- }
- }
-
- #declare Frame = intersection {
- plane { +y, -0.0001 }
- plane { -y, 3 }
- plane { -z, 35 }
- plane { <-1, 0, 1>, 0 }
- plane { < 1, 0, 1>, 0 }
- }
-
- union {
- union {
- object {
- union {
- object { Frame }
- object { Frame rotate 180*y }
- }
-
- pigment {
- wood
- turbulence 0.3
- scale <0.8, 1000, 0.8>
- rotate -88*z
- translate <200, 40, -20>
- quick_color red 0.5 green 0.25
- }
- finish {
- specular 1
- roughness 0.02
- }
- } // object
-
- object {
- union {
- object { Frame rotate -90*y }
- object { Frame rotate 90*y }
- }
-
- pigment {
- wood
- turbulence 0.3
- scale <0.8, 1000, 0.8>
- rotate -91*x
- translate <100, 30, 0>
- quick_color red 0.5 green 0.25
- }
- finish {
- specular 1
- roughness 0.02
- }
- } // object
-
- /* Board */
- intersection {
- plane { +x, 32 }
- plane { -x, 32 }
- plane { +y, 0 }
- plane { -y, 1 }
- plane { +z, 32 }
- plane { -z, 32 }
-
- texture {
- tiles {
- texture {
- pigment {
- marble
- turbulence 1.0
- colour_map {
- [0.0 0.7 colour White
- colour White]
- [0.7 0.9 colour White
- colour red 0.8 green 0.8 blue 0.8]
- [0.9 1.0 colour red 0.8 green 0.8 blue 0.8
- colour red 0.5 green 0.5 blue 0.5]
- }
- scale <0.6, 1, 0.6>
- rotate -30*y
- }
- finish {
- specular 1
- roughness 0.02
- reflection 0.25
- }
- } // texture
- tile2
- texture {
- pigment {
- granite
- scale <0.3, 1, 0.3>
- colour_map {
- [0 1 colour Black
- colour red 0.5 green 0.5 blue 0.5]
- }
- }
- finish {
- specular 1
- roughness 0.02
- reflection 0.25
- }
- }
- } // texture
- scale <8, 1, 8>
- } //texture
- } // intersection
-
- /* Table */
- union {
- intersection {
- plane { +y, -3 }
- plane { -y, 8 }
- sphere { <0, -5.5, 0>, 55 }
- }
-
- intersection {
- plane { y, -8 }
- object {
- Hyperboloid_Y
- scale <10, 20, 10>
- translate -20*y
- }
- }
-
- pigment {
- granite
- scale 6
- }
- finish {
- specular 1
- roughness 0.02
- reflection 0.3
- }
- } // union
-
- bounded_by { plane { y, 0 } }
- }
-
- union {
- object { WPawn translate <-28, 0, -20> }
- object { WPawn translate <-20, 0, -20> }
- object { WPawn translate <-12, 0, -20> }
- object { WPawn translate < -4, 0, -20> }
- object { WPawn translate < 4, 0, -20> }
- object { WPawn translate < 12, 0, -20> }
- object { WPawn translate < 20, 0, -20> }
- object { WPawn translate < 28, 0, -20> }
-
- object { WRook translate <-28, 0, -28> }
- object { WKnight translate <-20, 0, -28> }
- object { WBishop translate <-12, 0, -28> }
- object { WQueen translate < -4, 0, -28> }
- object { WKing translate < 4, 0, -28> }
- object { WBishop translate < 12, 0, -28> }
- object { WKnight translate < 20, 0, -28> }
- object { WRook translate < 28, 0, -28> }
-
- bounded_by {
- object {
- Cylinder_X
- scale <1, 9.56, 9.56>
- translate <0, 6.5, -24>
- }
- }
- }
-
- union {
- object { BPawn translate <-28, 0, 20> }
- object { BPawn translate <-20, 0, 20> }
- object { BPawn translate <-12, 0, 20> }
- object { BPawn translate < -4, 0, 20> }
- object { BPawn translate < 4, 0, 20> }
- object { BPawn translate < 12, 0, 20> }
- object { BPawn translate < 20, 0, 20> }
- object { BPawn translate < 28, 0, 20> }
-
- object { BRook translate <-28, 0, 28> }
- object { BKnight translate <-20, 0, 28> }
- object { BBishop translate <-12, 0, 28> }
- object { BQueen translate < -4, 0, 28> }
- object { BKing translate < 4, 0, 28> }
- object { BBishop translate < 12, 0, 28> }
- object { BKnight translate < 20, 0, 28> }
- object { BRook translate < 28, 0, 28> }
-
- bounded_by {
- object {
- Cylinder_X
- scale <1, 9.56, 9.56>
- translate <0, 6.5, 24>
- }
- }
- }
-
- bounded_by {
- intersection {
- plane { y, 13.5 }
- sphere { -30*y, 63 }
- }
- }
- }
-